////打印空心正方形 无空格
//int main()
//{
//	int n = 0;
//	while (scanf("%d", &n) != EOF)
//	{
//		for (int i = 0; i < n; i++)//行数
//		{
//			for (int j = 0; j < n; j++)//列数
//			{//满足条件输出 * ，即在边界上就是 *
//				if (i == 0 || j == 0 || i == n - 1 || j == n - 1)
//					printf("*");
//				else
//					printf(" ");//不在边界上的点都是空格			
//			}
//			printf("\n");
//		}
//	}
//	
//	return 0;
//}
//打印空心正方形 空格版
//int main()
//{
//	int n = 0;
//	while (scanf("%d", &n) != EOF)
//	{
//		for (int i = 0; i < n; i++)//行数
//		{
//			for (int j = 0; j < n; j++)//列数
//			{//满足条件输出 * ，即在边界上就是 *
//				if (i == 0 || j == 0 || i == n - 1 || j == n - 1)
//					printf("* ");
//				else
//					printf("  ");//不在边界上的点都是空格			
//			}
//			printf("\n");
//		}
//	}
//
//	return 0;
//}

//打印正方形，旋转45度，没有空格版
int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		//打印上半部分 n
		for (int i = 0; i < n; i++)
		{
			//打印一行
			//打印空格
			int j = 0;
			for (j = 0; j < n - 1 - i; j++)
			{
				printf(" ");
			}
			//打印*
			for (j = 0; j < 2 * i + 1; j++)
			{//满足条件输出 * ，即在边界上就是 *
				if (j == 0 || j == 2 * i )
					printf("*");
				else
					printf(" ");//不在边界上的点都是空格
			}
			printf("\n");
		}
		//打印下半部分 n-1
		for (int i = 0; i < n - 1; i++)
		{
			//打印一行
			//打印空格
			int j = 0;
			for (j = 0; j <= i; j++)
			{
				printf(" ");
			}
			//打印*
			for (j = 0; j < (n - 1 - i) * 2 - 1; j++)
			{//满足条件输出 * ，即在边界上就是 *
				if (j == 0 || j == (n - 1 - i) * 2 - 2)
					printf("*");
				else
					printf(" ");//不在边界上的点都是空格			
			}
			printf("\n");
		}
		
	}
	return 0;
}


////打印正方形，旋转45度，有空格版
//int main()
//{
//	int n = 0;
//	while (scanf("%d", &n) != EOF)
//	{
//		//打印上半部分 n
//		for (int i = 0; i < n; i++)
//		{
//			//打印一行
//			//打印空格
//			int j = 0;
//			for (j = 0; j < n - 1 - i; j++)
//			{
//				printf(" ");
//			}
//			//打印*
//			for (j = 0; j <= i; j++)
//			{//满足条件输出 * ，即在边界上就是 *
//				if (j == 0 || i == j)
//					printf("* ");
//				else
//					printf("  ");//不在边界上的点都是空格
//			}
//			printf("\n");
//		}
//		//打印下半部分 n-1
//		for (int i = 0; i < n - 1; i++)
//		{
//			//打印一行
//			//打印空格
//			int j = 0;
//			for (j = 0; j <= i; j++)
//			{
//				printf(" ");
//			}
//			//打印*
//			for (j = 0; j < (n - 1 - i); j++)
//			{//满足条件输出 * ，即在边界上就是 *
//				if (j == 0 || j == n - i - 2)
//					printf("* ");
//				else
//					printf("  ");//不在边界上的点都是空格			
//			}
//			printf("\n");
//		}
//	}
//	
//	return 0;
//}